import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext  # 导入滚动文本框的模块

win = tk.Tk()
win.title("Python 组件演示")  # 添加标题

# 创建一个标签框架容器,
monty = ttk.LabelFrame(win, text=" 标签框架 ")    # 创建一个容器，其父容器为win
monty.grid(column=0, row=0, padx=10, pady=10)     # padx和pady为容器外围需要留出的空余空间
aLabel = ttk.Label(monty, text="A Label")

ttk.Label(monty, text="请选择一个数字：").grid(column=1, row=0)  

# button被点击之后会被执行
def clickMe():   # 当acction被点击时,该函数则生效
  action.configure(text='Hello '  + ' ' + numberChosen.get())     # 设置button显示的内容

# 按钮
action = ttk.Button(monty, text="点击我!", command=clickMe)    
action.grid(column=2, row=1) 

# 创建一个下拉列表
number = tk.StringVar()
numberChosen = ttk.Combobox(monty, width=12, textvariable=number, state='readonly')
numberChosen['values'] = (1, 2, 4, 42, 100) # 设置下拉列表的值
numberChosen.grid(column=1, row=1) 
numberChosen.current(0)  # 设置下拉列表默认显示的值，0为 numberChosen['values'] 的下标值

# 滚动文本框
scrolW = 30 # 设置文本框的长度
scrolH = 3 # 设置文本框的高度
scr = scrolledtext.ScrolledText(monty, width=scrolW, height=scrolH)
scr.grid(column=0, columnspan=3)     # columnspan 将3列合并成一列

win.mainloop()      # 当调用mainloop()时,窗口才会显示出来

